package ar.edu.utn.frgp.labtec.service;

import java.util.Calendar;
import java.util.HashMap;
import java.util.List;

import ar.edu.utn.frgp.labtec.dao.OrdenTrabajoDao;
import ar.edu.utn.frgp.labtec.entities.OrdenDeTrabajo;

public class GestionOrdenTrabajoService {
	OrdenTrabajoDao ordenTrabajoDao;
	
	public List<OrdenDeTrabajo> getOrdenes(){
		return ordenTrabajoDao.getAll();
	}
	
	public OrdenDeTrabajo getOrdenDeTrabajo(Integer idOrden){
		return ordenTrabajoDao.getOrdenTrabajo(idOrden);
	}
	
	public void crearOrdenDeTrabajo(OrdenDeTrabajo obj){
		obj.setAnioOrden(String.valueOf(Calendar.getInstance().get(Calendar.YEAR)));
		
		Integer numeroOrden = ordenTrabajoDao.getNumeroDeOrden() + 1;
		obj.setIdOrden(numeroOrden);
		
		ordenTrabajoDao.create(obj);
	}
	
	public void updateOrdenDeTrabajo(OrdenDeTrabajo obj){
		ordenTrabajoDao.update(obj);
	}
	
	public void deleteOrdenDeTrabajo(Integer idOrden){
		ordenTrabajoDao.delete(getOrdenDeTrabajo(idOrden));
	}
	
	public void restoreOrdenDeTrabajo(Integer idOrden){
		ordenTrabajoDao.restore(getOrdenDeTrabajo(idOrden));
	}
	public List<OrdenDeTrabajo> getOrdenes(HashMap<String, Object> parameters){
		return ordenTrabajoDao.getOrdenes(parameters);
	}
	
	public Boolean exists(Integer idOrden){
		return ordenTrabajoDao.exists(idOrden);
	}
	
	
	
	

	public OrdenTrabajoDao getOrdenTrabajoDao() {
		return ordenTrabajoDao;
	}

	public void setOrdenTrabajoDao(OrdenTrabajoDao ordenTrabajoDao) {
		this.ordenTrabajoDao = ordenTrabajoDao;
	}
}
